// src/api/template.js
import request from '@/utils/request'

// 创建API前缀常量
const API_PREFIX = '/template/api/v1'

// 模板相关接口
export const templateApi = {
    // 获取模板列表
    getTemplateList(params) {
        return request({
            url: `${API_PREFIX}/template/list`,
            method: 'get',
            params
        })
    },

    // 同步模板
    syncTemplates() {
        return request({
            url: `${API_PREFIX}/template/sync`,
            method: 'get'
        })
    },

    // 获取模板详情
    getTemplateDetail(id) {
        return request({
            url: `${API_PREFIX}/template/${id}`,
            method: 'get'
        })
    },

    // 生成视频
    generateVideo(data) {
        return request({
            url: `${API_PREFIX}/template/generate`,
            method: 'post',
            data
        })
    },

    // 查询视频状态
    checkVideoStatus(recordId) {
        return request({
            url: `${API_PREFIX}/template/video/status/${recordId}`,
            method: 'get'
        })
    },

    // 获取视频生成历史
    getGenerationHistory(params) {
        return request({
            url: `${API_PREFIX}/template/video/history`,
            method: 'get',
            params
        })
    },

    // 删除生成记录
    deleteGenerationRecord(recordId) {
        return request({
            url: `${API_PREFIX}/template/video/record/${recordId}`,
            method: 'delete'
        })
    }
}

// 角色相关接口
export const avatarApi = {
    // 获取角色列表
    getAvatarList() {
        return request({
            url: `/video/video/avatar/list`,
            method: 'get'
        })
    },

    // 获取配置列表
    getConfigList() {
        return request({
            url: `/video/video/config/list`,
            method: 'get'
        })
    },

    // 保存配置
    saveConfig(data) {
        return request({
            url: `${API_PREFIX}/avatar/config/save`,
            method: 'post',
            data
        })
    }
}

// 语音相关接口
export const voiceApi = {
    // 获取语音列表
    getVoiceList() {
        return request({
            url: `/video/video/voice/list`,
            method: 'get'
        })
    }
}
